ちゃんとカテゴリ分けされておりませんので、
記事をお探しならブログ内検索が便利です。
ご活用くださいませー+.(≧∀≦)゚+.゚
ブログ内検索
カレンダー
| 09 | 2025/10 | 11 |
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
カテゴリー
最新コメント
[10/29 bycosLiz]
[10/29 dajigygrern]
[10/29 Huseyin Engin Mehdi]
[10/29 DavidScago]
[10/29 AaronEmady]
最新記事
(07/08)
(08/22)
(02/19)
(01/16)
(12/29)
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
pg_dumpの分割 でも触れましたが、DBのダンプファイルをダンプの時点で分割しておかないとリストアの時結構大変です。
それでも1ファイルでダンプしちゃったなら、前述の方法などで分割するしかないですが、できることならダンプの時点でテーブルごとに分かれているのが理想です。
pg_dumpのオプションでなんとかなればいいのですが、3流エンジニアにはドキュメントを理解する能力がありませんでした。。。
ということで仕方ないので、例によってpythonスクリプトでダンプするためのShellスクリプトを作成し、実行することでテーブルごとにダンプファイルを作成するための簡単なものを作成しました。
確認環境
Python 2.7.3
PostgreSQL 9.3.0
検索タグ
python, postgresql
それでも1ファイルでダンプしちゃったなら、前述の方法などで分割するしかないですが、できることならダンプの時点でテーブルごとに分かれているのが理想です。
pg_dumpのオプションでなんとかなればいいのですが、3流エンジニアにはドキュメントを理解する能力がありませんでした。。。
ということで仕方ないので、例によってpythonスクリプトでダンプするためのShellスクリプトを作成し、実行することでテーブルごとにダンプファイルを作成するための簡単なものを作成しました。
python
db_name = 'db_name'
output_path = './db_dump'
gzip = False
import subprocess
import os
os.mkdir(output_path)
if gzip:
out_cmd = 'gzip --best -c'
ext = '.dmp.gz'
else:
out_cmd = 'cat'
ext = '.dmp'
cmd = ['echo', r'\dt']
sp = subprocess.Popen(cmd, stdout=subprocess.PIPE)
cmd = ['psql', db_name, '-t']
tp = subprocess.Popen(cmd, stdin=sp.stdout, stdout=subprocess.PIPE)
open('pg_dump.sh', 'wb').write('') # initialyze
for line in tp.stdout:
if not line.strip(): continue
table_name = line.split('|')[1].strip()
cmd_line = 'pg_dump {0} -t {2} | {3} > {1}/{0}_{2}{4}\n'.format(
db_name,
output_path,
table_name,
out_cmd,
ext
)
open('pg_dump.sh', 'ab').write(cmd_line)
exit()
# The shell script from here.
sh -x ./pg_dump.sh
確認環境
Python 2.7.3
PostgreSQL 9.3.0
検索タグ
python, postgresql
PR
この記事にコメントする





